package org.example.code.test2024.eleven;

import java.util.ArrayList;
import java.util.List;

/**
 * @Title: test1118
 * @Author yxy
 * @Package org.example.code.eleven
 * @Date 2024/11/18 18:15
 * @description: 每日刷题
 */
public class test1118 {
    public int climbStairs(int n) {
        int[] dp = new int[n + 1];
        if(n==1)return 1;
        dp[0]=0;
        dp[1]=1;
        dp[2]=2;
        if(n<=2){
            return dp[n];
        }
        for(int i=3;i<=n;i++){
            dp[i]=dp[i-1]+dp[i-2];
        }
        return dp[n];
    }

    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> res = new ArrayList<List<Integer>>();
        for(int i=0;i<numRows;i++){
            List<Integer> list = new ArrayList<>();
            for(int j=0;j<=i;j++){
               if(j==0||j==i){
                   list.add(1);
               }else{
                   list.add(res.get(i-1).get(j-1)+res.get(i-1).get(j));
               }
            }
            res.add(list);
        }
        return res;
    }

    public int rob(int[] nums) {
        int[] dp = new int[nums.length];
        if(nums.length==1)return nums[0];
        if(nums.length==2)return Math.max(nums[0],nums[1]);
        dp[0]=nums[0];
        dp[1]=Math.max(nums[0],nums[1]);
        for(int i=2;i<nums.length;i++){
            dp[i]=Math.max(dp[i-1],dp[i-2]+nums[i]);
        }
        return dp[nums.length-1];
    }


    public static void main(String[] args) {
        test1118 test = new test1118();
        System.out.println(test.generate(3));
    }
}
